package Day002_final_static_接口.demo03接口;
/*
    public interface 接口名{
        常量
        抽象方法
        默认方法和静态方法
        私有方法
    }

    接口是一种引用数据类型,接口中主要用来定义方法

    接口中的成员: 常量,抽象方法,默认方法和静态方法,私有方法

    接口的特点:
            编译后也会产生class文件
            定义接口使用Interface关键字
            实现接口使用implement关键字
            实现接口的类可以叫做实现类或子类
            实现类是普通类就必须重写接口中的所有抽象方法,如果实现类时抽象类就不用

 */

public interface JieKou {
    //常量(公有 静态 常量)
    //默认修饰符 public static final,可以省略
    public static final int A = 10;
    public static int B = 10;
    public final int C = 10;
    static final int D = 10;
    int E = 10;

    //抽象方法(公有)
    //默认修饰符 public abstract,可以省略
    public abstract void method1();

    abstract void method2();

    public void method3();

    void method4();

    //默认方法(公有)
    //默认修饰符 public default,public可以省略
    public default void method5() {
        System.out.println("默认方法method5");
    }

    default void method6() {
        System.out.println("默认方法method6");
    }

    //静态方法(公有)  实现类不能实现(继承)
    //默认修饰符 public static,public可以省略
    public static void method7() {
        System.out.println("静态方法method7");
    }

    static void method8() {
        System.out.println("静态方法method8");
    }

    //私有方法 JDK9以上  实现类不能实现(继承)

}
